iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
自我挑戰組

【Tech愛情對談】軟體新手入門指南系列 第 10

【Tech愛情對談】Talk 10 - Git輕鬆學,了解六大名詞幫你快速掌握全貌

  • 分享至 

  • xImage
  •  

老公老公~我看JD上好多都有寫到「具備Git版控使用經驗及概念」「熟悉版本控制工具,特別是 Git」、「版本控管: 以 Git 為主」,感覺Git很重要,如果想快速掌握全貌,我需要知道哪些東西呢?

Git是什麼?

Git,它不只是一個工具,更是開發軟體的得力夥伴。在軟體開發的世界裡,Git像是一位無所不知的守護者,精準地記錄每一次程式碼的改變。這個能力,不僅能讓你掌握專案的每個異動,更讓多位開發者能輕鬆協作,無縫地將各自的貢獻合併成完美的程式碼。

你可以把 Git 想像成一個奇妙的工具,能讓你的團隊更高效率地共同開發,確保每個版本的程式碼都得到精確的記錄和管理,是軟體公司不可或缺的版本控制工具。

為讓大家更有感覺,請ChatGPT產了一個Git小故事

故事:小明和小華的合作專案

有一天,小明和小華要一起合作開發一個魔法APP,他們想利用Git來有效地協作。小明擁有遠端魔法儲存庫,而小華想在自己的電腦上進行開發。

在開始之前,小明已經在他的遠端魔法儲存庫中保存了一份魔法書,裡面記載著他的所有魔法。現在,小華希望能複製這本魔法書,以便在自己的電腦上進行魔法的編寫。

  1. 複製遠端到本機

    小華打開他的電腦,啟動Git,然後選擇「複製遠端專案」,這個動作叫做「Clone」。這一步就像他從遠端魔法儲存庫的書中複製了魔法內容,讓他能在自己的書上編寫新魔法。現在,他擁有了一本自己的魔法書,也就是本地儲存庫。

  2. 進行基本操作

    小華開始在他的魔法書上編寫新的魔法,就像他在開發新功能一樣。每當他編寫了一段新的魔法,他就會打包這些想法、簡述紀錄在日記上,這個動作叫做「Commit」。他可以每次寫一點,然後Commit一次,也可以一次寫好多,然後再Commit。

  3. 拉新分支進行開發

    小華突然想到一個新魔法的點子,但他不想在主魔法書上寫,怕搞砸了。於是他決定打開一張白紙,也就是新的頁籤(分支),他可以在這張白紙上盡情寫下新魔法,而不影響主魔法書。這樣,他就打開了新的分支,可以在這上面開發新的功能。

  4. 推送新分支到遠端

    小華覺得他新魔法的點子實在太棒了,他想讓小明也看到。他把這張白紙(新分支)也推送給小明,這樣小明就可以在自己的書(遠端儲存庫)上看到這個新魔法了。

這樣,小明和小華就能輕鬆地在魔法專案上進行協作,他們可以盡情的測試魔法,也能夠保留每次魔法的歷史版本,並在新分支上獨立開發新功能,讓合作更加彈性和順暢!

認識Git最重要的六大名詞

有聽過80/20法則嗎? 只要熟悉這20%的Git概念就足以應付80%的專業溝通了!

1. 儲存庫(Repository)
在PM世界中,我們可能有很多的「專案資料夾」,而在Git世界中,我們會稱之為「儲存庫」(Repository、Repo、倉庫)喔!

在Git中,儲存庫是所有操作的核心,指的是拿來放程式碼、歷史記錄和版本資訊的地方。儲存庫內含了專案的所有檔案及版本變更紀錄。

而儲存庫又分為「遠端儲存庫」及「本地儲存庫」:
Remote (遠端儲存庫)
遠端儲存庫指的是位於遠端伺服器上的儲存庫,通常會放在網路上的Git服務平台,如GitHub、GitLab、Bitbucket等。每位開發者可以透過Clone操作,將遠端儲存庫複製到自己的本機,然後在本地進行開發、修改,最後再將修改的部分推送(Push)回遠端儲存庫。

Local (本地儲存庫)
本地儲存庫是位於開發者電腦上的儲存庫。當Clone遠端儲存庫時,就會在電腦上建立一份本地儲存庫。開發者可以在本地儲存庫進行開發、修改、Commit變更,這些變更會暫時保留在開發者電腦上,直到決定推送(Push)這些變更時,才會真的存到遠端儲存庫。

2. Clone (複製儲存庫)
透過Clone,開發者可以複製遠端儲存庫至本地端,便能在自己的電腦上進行開發。

3. Commit (提交變更)
開發者可以將相關的變更打包成一次Commit留下紀錄,以便日後追蹤和回溯。

4. Push (推送變更)
Push能讓開發者將本地儲存庫的Commit推送至遠端儲存庫&讓其他協作者能夠查看和使用。

5. Pull (拉取變更)
Pull能讓開發者將遠端儲存庫的所有變更,更新到自己的本地儲存庫,以確保專案程式碼總是處於最新狀態。

6. Branch (分支管理)
Branch讓開發者能在同一專案上同時進行不同的開發工作,每個分支可獨立進行變更,最後再合併回主要分支,有助多人協作開發。

想學Git可以如何下手

對於完全新手的人來說,也許可以透過以下三個步驟循序漸進的練習:

1. 借助GUI工具 - 推薦SourceTree
初學者的話,不建議一下就跳到指令操作,可以先從GUI下手,網路上有許多免費的Git視覺化工具,如果不知道怎麼選,也可以試試看「SourceTree」這套,可以從網路上找教學來跟著操作,譬如建立一個本地儲存庫,試著操作commit,體驗將變更打包的感覺。

2. 給自己的練習題
當自己對一些基本操作有概念之後,可以進一步在Github上建立一個自己的遠端儲存庫,並將練習的程式push上去。

3. 用Github練習
除了在本地建立一個儲存庫,也可以到Github試著去clone別人的專案,體驗一下將別人程式碼拉下來的感覺。

推薦學習資源

30天精通Git版本控管 https://ithelp.ithome.com.tw/articles/10132053
《SourceTree》使用 Git 必備的版本控管工具 https://www.inote.tw/sourcetree


上一篇
【Tech愛情對談】Talk 9 - 學習程式的知識寶藏,你不可不知的兩大Github密技
下一篇
【Tech愛情對談】Talk 11 - APP上架0-1的奇幻冒險:工程師表示~郎毋是我抬ㄟ
系列文
【Tech愛情對談】軟體新手入門指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言